// Button variants

@mixin button-variant($color, $background, $border) {
  color: $color;
  background-color: $background;
  border-color: $border;

  &:focus,
  &.focus {
    color: $color;
    opacity: 0.8;
  }

  &:hover {
    color: $color;
    opacity: 0.8;

  }

  &:active,
  &.active,
  .open>&.dropdown-toggle {
    opacity: 0.8;

    &:hover,
    &:focus,
    &.focus {
      opacity: 0.8;

    }
  }

  &.disabled,
  &[disabled],
  fieldset[disabled] & {

    &:hover,
    &:focus,
    &.focus {
      background-color: $background;
      border-color: $border;
    }
  }

  .badge {
    color: $background;
    background-color: $color;
  }
}

// Button sizes
@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
  padding: $padding-vertical $padding-horizontal;
  font-size: $font-size;
  line-height: $line-height;
  border-radius: $border-radius;
}

@mixin button-outline($hover-color, $color) {
  background: none;
  border-color: $color;
  color: $color;

  &:focus,
  &.focus {
    background-color: $hover-color;
    opacity: 0.8;
    color: $color;
  }

  &:hover {
    background-color: $color;
    color: $hover-color;
    opacity: 0.8;
  }

  &:active,
  &.active,
  .open>&.dropdown-toggle {
    background-color: $hover-color;
    opacity: 0.8;
    color: $color;

    &:hover,
    &:focus,
    &.focus {
      background-color: $color;
      color: $hover-color;
      opacity: 0.8;
    }
  }

  &.disabled,
  &[disabled],
  fieldset[disabled] & {

    &:hover,
    &:focus,
    &.focus {
      border-color: $color;
    }
  }

  .badge {
    color: $color;
  }
}